#include "poolThread.hpp"
#include "task.hpp"
#include <unistd.h>

int main()
{
    //创建一个线程池
    //ThreadPool<CalTask>* tp = new ThreadPool<CalTask>(3);
    //tp->run();
    ThreadPool<CalTask>::getInstace()->run();
    int x, y;
    char op;
    while (1)
    {
        std::cout << "请输入x###:";
        std::cin >> x;
        std::cout << "请输入y###:";
        std::cin >> y;
        std::cout << "请输入操作符###:";
        std::cin >> op;
        //构建任务
        CalTask t(x,y,op,myMath);
        // tp->push(t);
        ThreadPool<CalTask>::getInstace()->push(t);
        sleep(1);
    }
    return 0;
}










// void *start_routine(void* args)
// {
//     std::string message = static_cast<const char*>(args);
//     while(true)
//     {
//         std::cout<<message<<std::endl;
//         sleep(1);
//     }
//     return nullptr;

// }

// int main()
// {
//     threadNs::Thread t1;
//     threadNs::Thread t2;

//     t1.start(start_routine,(void*)"thread 1 run...");
//     t2.start(start_routine,(void*)"thread 2 run...");

//     t1.join();
//     t2.join();

//     return 0;
// }
